/**
 * @addtogroup brd_pwr_ctrl
 * brd_pwr_ctrl
 * @{
 */
/**
 * @file brd_pwr_ctrl.h
 * @brief 电源控制板级层
 * @par 修改日志
 * <table>
 * <tr><th>Date <th>Version <th>Author <th>Description
 * <tr><td>2020-09-30 <td>1.0 <td>软件工程院 <td>创建初始版本
 * @par 示例
 * @code
 * 创建一个设备.enable 
   Bool enabled;
   ...
   if (Brd_PwrCtrlEnabled(0, &enabled) >= 0 && !enabled)
      Brd_PwrCtrlSetEnable(0, True);
   ...
 * @endcode
 * @copyright 杭州鸿泉物联网技术股份有限公司
 */

#ifndef _BRD_PWR_CTRL_H_
#define _BRD_PWR_CTRL_H_

#include <ofc_types.h>

#ifdef __linux
#pragma GCC visibility push(default)
#endif 

#ifdef __cplusplus
extern "C" {
#endif

/**
 * 获取指定的控制信号是否使能
 * @param id: 标识, 参见[brd_def](@ref Brd_TPwrCtrlIdTag)
 * @param enabled: 状态指针, True表示已使能, False表示已禁止
 * @return 当返回值 >= 0 时, 表示成功 \n
 *         当返回值 < 0 时, 表示失败参见[brd_def](@ref Brd_TErrorCodeTag)
 */
Int32 Brd_PwrCtrlEnabled(Int32 id, Bool *enabled);

/**
 * 使能或禁止电源输出
 * @param id: 标识, 参见[brd_def](@ref Brd_TPwrCtrlIdTag)
 * @param enable: True表示使能, False表示禁止
 * @return 当返回值 >= 0 时, 表示成功 \n
 *         当返回值 < 0 时, 表示失败参见[brd_def](@ref Brd_TErrorCodeTag)
 */
Int32 Brd_PwrCtrlSetEnable(Int32 id, Bool enable);

#ifdef __cplusplus
}  ///< extern "C"
#endif

#ifdef __linux
#pragma GCC visibility pop
#endif 

#endif // _BRD_PWR_CTRL_H_
/**
 * @} 
 */
